package org.finesys.common.sensitive.core.annotation.base;

import java.lang.annotation.*;

/**
 * 加密处理
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@Inherited
@Documented
@SuppressWarnings("all")
public @interface Sensitive {

    /**
     * 脱敏数据 左边界
     * <p>
     * 如：left=3
     * 数据1234567890从左边界index=3，从数据4开始脱敏
     *
     * @return 左边界
     */
    int left() default -1;

    /**
     * 脱敏数据 右边界
     * <p>
     * 如：right=3
     * 数据1234567890从右边界index=6，到数据7结束脱敏
     *
     * @return 右边界
     */
    int right() default -1;

    /**
     * 填充字符
     */
    char fill() default '*';
}
